Ethernet is a connectionless oriented technology. It does not have a routing mechanism and its address scheme is based on 48-bit MAC addresses. However, its address scheme is flat and non-hierarchical and, thus, is not scaleable. In order to provide greater capacity, a partitioning scheme, named VLAN, was introduced.
A VLAN, or virtual LAN, is a logical group of LAN segments, independent of physical location, with a common set of requirements. Several VLANs can co-exist on a single physical switch. VLANs are configured through software rather than hardware, which makes them extremely flexible. Frames having a VLAN tag carry an explicit identification of the VLAN to which they belong. The value of the VLAN Identification (VID) in the tag header signifies the particular VLAN the frame belongs to. This additional tag field appears in the Ethernet protocol.
The format of a typical VLAN frame 10 having an Ethernet encoded tag header is illustrated schematically in FIGS. 1a and 1b. As can be seen, frame 10 includes an Ethernet-coded Tag Protocol Identifier (ETPID) 12 of 2 Bytes, Tag Control Information (TCI) 14 in 2 Bytes, an indicator 16 of the type or length of the payload in the frame, and data 18, a sequence of n Bytes of any value 42=<n=<1496. The total frame minimum is 64 Bytes.
The TCI field 14, shown in detail in FIG. 1b, includes 3 bits indicating the User Priority 20, generally as defined in the user's Quality of Service agreement. This arrangement can indicate up to eight (23) priority levels. It further includes a CFI (Canonical Format Indicator) 22. CFI 22 is used for compatibility reasons between Ethernet type networks and old-fashioned Token Ring type networks, and indicates whether the frame can be forwarded to an Ethernet port, or if it can only pass through a Token Ring network. The VID 24, the identification of the VLAN used by the standard 802.1Q, is also part of TCI 14. It has 12 bits and allows the identification of 4096 (212) VLANs. 2 bytes 16 are utilized to indicate Length/Type. This field indicates either the number of MAC-client data bytes that are contained in the data field of the frame, or the frame type ID.
Frames are relayed through a series of bridges in the network. Each bridge has a VLAN filtering database, which contains rules for forwarding a received data frame. The forwarding is done based on the data frame's destination MAC address and associated VID. The filtering database contains both management configured static information and dynamically learnt information during the bridge operation. In the filtering database, information related to MAC addresses are known as filtering information and the information related to VLANs are known as registration information. Among the decisions made according to the rules in the database is whether the frame is to be unicast (forwarded through a single port) or multicast (forwarded simultaneously through several ports).
The main problem with VLAN is its limited VID space (4096). While this space may suffice for enterprise applications, it is much too small for carrier networks, which must support many customers and services.
A number of solutions have been proposed for this scalability problem. First is so called Q in Q, also known as Provider Bridge, VLAN stacking or tag stacking, which allows service providers to insert an additional VLAN tag (referred to as provider VLAN) in the Ethernet frame in order to identify the service, resulting in a unique 24-bit length label. While this solution enables one, in theory, to identify up to 16 million services (4094*4094), in reality, one provider VLAN is dedicated to one customer, and therefore the number of supported customers is still limited to 4094.
An alternative proposed solution is known as MAC-in-MAC, described in the proposed IEEE 802.1ah Provider Backbone Bridges standard. The MAC-in-MAC name refers to the way the standard encapsulates Ethernet frames with a Service Provider MAC header. MAC-in-MAC technology overcomes the inherent scalability limitations of VLANs and Q-in-Q networks that make them impractical for use in larger networks by enabling up to 4000 times as many service instances as supported by traditional VLAN and Q-in-Q networks. Because the switches at the edge encapsulate the traffic with a service provider MAC address, the other switches in the core need only learn the MAC addresses of the core switches.
However, this method also suffers from disadvantages. There are scalability problems using MAC addresses for forwarding decisions. The added TAGs are flat, and are separated, so that choosing an I tag for one customer prevents other customers from reusing the concatenated tags. Furthermore, the added multiple tags augment the frames by some 128 bits, which can be a significant overhead, particularly when dealing with small (64 byte) packets associated with real time applications, such as voice and video.
Accordingly, there is a long felt need for an Ethernet addressing scheme which is scalable beyond conventional VLAN, and it would be very desirable to have an Ethernet frame for embodying such a scheme and an Ethernet bridge for forwarding frames utilizing such a scheme.
It is also known to divide IP networks into smaller networks, called subnetworks or subnets. Subnetting provides the network administrator with several benefits, including extra flexibility, more efficient use of network addresses, and the capability to contain broadcast traffic (a broadcast will not cross a router). Subnets are under local administration. As such, the outside world sees an organization as a single network and has no detailed knowledge of the organization's internal structure.
An IP subnet address is created by “borrowing” bits from the host field and designating them as the subnet field. The number of borrowed bits varies and is specified by a subnet mask, which is stored in the router's routing tables. A subnet mask is a bitmask used to tell how many bits identify the subnetwork, and how many bits provide room for host addresses. Subnet masks use the same format and representation technique as IP addresses.
During IP routing, these subnet masks are used to determine the network (or more specifically, the subnetwork) address. First, the router extracts the IP destination address from the incoming packet and retrieves the internal subnet mask. It then performs a logical AND operation to obtain the network number. This causes the host portion of the IP destination address to be removed, while the destination network number remains. The router then looks up the destination network number and matches it with an outgoing interface. Finally, it forwards the frame to the destination IP address. Subnet masks are not known for use in Ethernet networks.